WALDIO: Eliminating the Filesystem Journaling in Resolving the Journaling of Journal Anomaly

نویسندگان

  • Wongun Lee
  • Keonwoo Lee
  • Hankeun Son
  • Wook-Hee Kim
  • Beomseok Nam
  • Youjip Won
چکیده

This work is dedicated to resolve the Journaling of Journal Anomaly in Android IO stack. We orchestrate SQLite and EXT4 filesystem so that SQLite’s file-backed journaling activity can dispense with the expensive filesystem intervention, the journaling, without compromising the file integrity under unexpected filesystem failure. In storing the logs, we exploit the direct IO to suppress the filesystem interference. This work consists of three key ingredients: (i) Preallocation with Explicit Journaling, (ii) Header Embedding, and (iii) Group Synchronization. Preallocation with Explicit Journaling eliminates the filesystem journaling properly protecting the file metadata against the unexpected system crash. We redesign the SQLite B-tree structure with Header Embedding to make it direct IO compatible and block IO friendly. With Group Synch, we minimize the synchronization overhead of direct IO and make the SQLite operation NAND Flash friendly. Combining the three technical ingredients, we develop a new journal mode in SQLite, the WALDIO. We implement it on the commercially available smartphone. WALDIO mode achieves 5.1× performance (insert/sec) against WAL mode which is the fastest journaling mode in SQLite. It yields 2.7× performance (inserts/sec) against the LS-MVBT, the fastest SQLite journaling mode known to public. WALDIO mode achieves 7.4× performance (insert/sec) against WAL mode when it is relieved from the overhead of explicitly synchronizing individual log-commit operations. WALDIOmode reduces the IO volume to 1/6 compared against the WAL mode.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

I/O Stack Optimization for Smartphones

The Android I/O stack consists of elaborate and mature components (SQLite, the EXT4 filesystem, interruptdriven I/O, and NAND-based storage) whose integrated behavior is not well-orchestrated, which leaves a substantial room for an improvement. We overhauled the block I/O behavior of five filesystems (EXT4, XFS, BTRFS, NILFS, and F2FS) under each of the five different journaling modes of SQLite...

متن کامل

vDrive: An Efficient and Consistent Virtual I/O System

The most popular methods for managing storage and providing crash consistency are I/O virtualization and journaled filesystems respectively. This popularity is due to their widespread use in production environments. However, both of these methods have evolved separately in different contexts in the past. This paper presents a first look on providing crash consistency for virtual I/O caches thro...

متن کامل

Barrier-Enabled IO Stack for Flash Storage

This work is dedicated to eliminating the overhead of guaranteeing the storage order in modern IO stack. The existing block device adopts prohibitively expensive resort in ensuring the storage order among write requests: interleaving successive write requests with transfer and flush. Exploiting the cache barrier command for the Flash storage, we overhaul the IO scheduler, the dispatch module an...

متن کامل

Resolving journaling of journal anomaly in android I/O: multi-version B-tree with lazy split

Misaligned interaction between SQLite and EXT4 of the Android I/O stack yields excessive random writes. In this work, we developed multi-version B-tree with lazy split (LS-MVBT) to effectively address the Journaling of Journal anomaly in Android I/O. LS-MVBT is carefully crafted to minimize the write traffic caused by fsync() call of SQLite. The contribution of LS-MVBT consists of two key eleme...

متن کامل

FJS: Fine-grained Journal Store

Journaling has been a popular reliability tool for file systems. However, journaling may involve writing updates twice, once to the journal, and once to potentially random update locations. The journal granularity tends to be coarse, leading to more bytes written than necessary. We introduce Fine-grained Journal Store (FJS). Finegrained Journal Store uses the journal as the final storage locati...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2015